{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "1. 对数据做数据探索分析"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\n",
    "Bikeshare数据集上的数据探索\n",
    "1、 任务描述 请在Capital Bikeshare （美国Washington, D.C.的一个共享单车公司）提供的自行车数据上进行回归分析。根据每天的天气信息，预测该天的单车共享骑行量。\n",
    "原始数据集地址：http://archive.ics.uci.edu/ml/datasets/Bike+Sharing+Dataset 1) 文件说明 day.csv: 按天计的单车共享次数（作业只需使用该文件） hour.csv: 按小时计的单车共享次数（无需理会） readme：数据说明文件\n",
    "2) 字段说明 Instant记录号 Dteday：日期 Season：季节（1=春天、2=夏天、3=秋天、4=冬天） yr：年份，(0: 2011, 1:2012) mnth：月份( 1 to 12) hr：小时 (0 to 23) （只在hour.csv有，作业忽略此字段） holiday：是否是节假日 weekday：星期中的哪天，取值为0～6 workingday：是否工作日 1=工作日 （是否为工作日，1为工作日，0为非周末或节假日 weathersit：天气（1：晴天，多云 2：雾天，阴天 3：小雪，小雨 4：大雨，大雪，大雾） temp：气温摄氏度 atemp：体感温度 hum：湿度 windspeed：风速 casual：非注册用户个数 registered：注册用户个数 cnt：给定日期（天）时间（每小时）总租车人数，响应变量y （cnt = casual + registered）"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "#导入工具包\n",
    "import pandas as pd\n",
    "import numpy as np\n",
    "\n",
    "# plotting\n",
    "import seaborn as sn\n",
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline\n",
    "\n",
    "# setting params\n",
    "params = {'legend.fontsize': 'x-large',\n",
    "          'figure.figsize': (30, 10),\n",
    "          'axes.labelsize': 'x-large',\n",
    "          'axes.titlesize':'x-large',\n",
    "          'xtick.labelsize':'x-large',\n",
    "          'ytick.labelsize':'x-large'}\n",
    "\n",
    "sn.set_style('whitegrid')\n",
    "sn.set_context('talk')\n",
    "\n",
    "plt.rcParams.update(params)\n",
    "pd.options.display.max_colwidth = 600"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>instant</th>\n",
       "      <th>dteday</th>\n",
       "      <th>season</th>\n",
       "      <th>yr</th>\n",
       "      <th>mnth</th>\n",
       "      <th>holiday</th>\n",
       "      <th>weekday</th>\n",
       "      <th>workingday</th>\n",
       "      <th>weathersit</th>\n",
       "      <th>temp</th>\n",
       "      <th>atemp</th>\n",
       "      <th>hum</th>\n",
       "      <th>windspeed</th>\n",
       "      <th>casual</th>\n",
       "      <th>registered</th>\n",
       "      <th>cnt</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>2011-01-01</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>6</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>0.344167</td>\n",
       "      <td>0.363625</td>\n",
       "      <td>0.805833</td>\n",
       "      <td>0.160446</td>\n",
       "      <td>331</td>\n",
       "      <td>654</td>\n",
       "      <td>985</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2</td>\n",
       "      <td>2011-01-02</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>0.363478</td>\n",
       "      <td>0.353739</td>\n",
       "      <td>0.696087</td>\n",
       "      <td>0.248539</td>\n",
       "      <td>131</td>\n",
       "      <td>670</td>\n",
       "      <td>801</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>3</td>\n",
       "      <td>2011-01-03</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0.196364</td>\n",
       "      <td>0.189405</td>\n",
       "      <td>0.437273</td>\n",
       "      <td>0.248309</td>\n",
       "      <td>120</td>\n",
       "      <td>1229</td>\n",
       "      <td>1349</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>4</td>\n",
       "      <td>2011-01-04</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0.200000</td>\n",
       "      <td>0.212122</td>\n",
       "      <td>0.590435</td>\n",
       "      <td>0.160296</td>\n",
       "      <td>108</td>\n",
       "      <td>1454</td>\n",
       "      <td>1562</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5</td>\n",
       "      <td>2011-01-05</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0.226957</td>\n",
       "      <td>0.229270</td>\n",
       "      <td>0.436957</td>\n",
       "      <td>0.186900</td>\n",
       "      <td>82</td>\n",
       "      <td>1518</td>\n",
       "      <td>1600</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   instant      dteday  season  yr  mnth  holiday  weekday  workingday  \\\n",
       "0        1  2011-01-01       1   0     1        0        6           0   \n",
       "1        2  2011-01-02       1   0     1        0        0           0   \n",
       "2        3  2011-01-03       1   0     1        0        1           1   \n",
       "3        4  2011-01-04       1   0     1        0        2           1   \n",
       "4        5  2011-01-05       1   0     1        0        3           1   \n",
       "\n",
       "   weathersit      temp     atemp       hum  windspeed  casual  registered  \\\n",
       "0           2  0.344167  0.363625  0.805833   0.160446     331         654   \n",
       "1           2  0.363478  0.353739  0.696087   0.248539     131         670   \n",
       "2           1  0.196364  0.189405  0.437273   0.248309     120        1229   \n",
       "3           1  0.200000  0.212122  0.590435   0.160296     108        1454   \n",
       "4           1  0.226957  0.229270  0.436957   0.186900      82        1518   \n",
       "\n",
       "    cnt  \n",
       "0   985  \n",
       "1   801  \n",
       "2  1349  \n",
       "3  1562  \n",
       "4  1600  "
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#读取数据\n",
    "train = pd.read_csv(\"day.csv\")\n",
    "train.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 731 entries, 0 to 730\n",
      "Data columns (total 16 columns):\n",
      "instant       731 non-null int64\n",
      "dteday        731 non-null object\n",
      "season        731 non-null int64\n",
      "yr            731 non-null int64\n",
      "mnth          731 non-null int64\n",
      "holiday       731 non-null int64\n",
      "weekday       731 non-null int64\n",
      "workingday    731 non-null int64\n",
      "weathersit    731 non-null int64\n",
      "temp          731 non-null float64\n",
      "atemp         731 non-null float64\n",
      "hum           731 non-null float64\n",
      "windspeed     731 non-null float64\n",
      "casual        731 non-null int64\n",
      "registered    731 non-null int64\n",
      "cnt           731 non-null int64\n",
      "dtypes: float64(4), int64(11), object(1)\n",
      "memory usage: 91.5+ KB\n"
     ]
    }
   ],
   "source": [
    "train.info()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "记录数为731条，没有缺失的数据。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>instant</th>\n",
       "      <th>season</th>\n",
       "      <th>yr</th>\n",
       "      <th>mnth</th>\n",
       "      <th>holiday</th>\n",
       "      <th>weekday</th>\n",
       "      <th>workingday</th>\n",
       "      <th>weathersit</th>\n",
       "      <th>temp</th>\n",
       "      <th>atemp</th>\n",
       "      <th>hum</th>\n",
       "      <th>windspeed</th>\n",
       "      <th>casual</th>\n",
       "      <th>registered</th>\n",
       "      <th>cnt</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>366.000000</td>\n",
       "      <td>2.496580</td>\n",
       "      <td>0.500684</td>\n",
       "      <td>6.519836</td>\n",
       "      <td>0.028728</td>\n",
       "      <td>2.997264</td>\n",
       "      <td>0.683995</td>\n",
       "      <td>1.395349</td>\n",
       "      <td>0.495385</td>\n",
       "      <td>0.474354</td>\n",
       "      <td>0.627894</td>\n",
       "      <td>0.190486</td>\n",
       "      <td>848.176471</td>\n",
       "      <td>3656.172367</td>\n",
       "      <td>4504.348837</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>211.165812</td>\n",
       "      <td>1.110807</td>\n",
       "      <td>0.500342</td>\n",
       "      <td>3.451913</td>\n",
       "      <td>0.167155</td>\n",
       "      <td>2.004787</td>\n",
       "      <td>0.465233</td>\n",
       "      <td>0.544894</td>\n",
       "      <td>0.183051</td>\n",
       "      <td>0.162961</td>\n",
       "      <td>0.142429</td>\n",
       "      <td>0.077498</td>\n",
       "      <td>686.622488</td>\n",
       "      <td>1560.256377</td>\n",
       "      <td>1937.211452</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.059130</td>\n",
       "      <td>0.079070</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.022392</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>20.000000</td>\n",
       "      <td>22.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>183.500000</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>4.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.337083</td>\n",
       "      <td>0.337842</td>\n",
       "      <td>0.520000</td>\n",
       "      <td>0.134950</td>\n",
       "      <td>315.500000</td>\n",
       "      <td>2497.000000</td>\n",
       "      <td>3152.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>366.000000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>7.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.498333</td>\n",
       "      <td>0.486733</td>\n",
       "      <td>0.626667</td>\n",
       "      <td>0.180975</td>\n",
       "      <td>713.000000</td>\n",
       "      <td>3662.000000</td>\n",
       "      <td>4548.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>548.500000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>10.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>5.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>0.655417</td>\n",
       "      <td>0.608602</td>\n",
       "      <td>0.730209</td>\n",
       "      <td>0.233214</td>\n",
       "      <td>1096.000000</td>\n",
       "      <td>4776.500000</td>\n",
       "      <td>5956.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>731.000000</td>\n",
       "      <td>4.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>12.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>6.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>0.861667</td>\n",
       "      <td>0.840896</td>\n",
       "      <td>0.972500</td>\n",
       "      <td>0.507463</td>\n",
       "      <td>3410.000000</td>\n",
       "      <td>6946.000000</td>\n",
       "      <td>8714.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          instant      season          yr        mnth     holiday     weekday  \\\n",
       "count  731.000000  731.000000  731.000000  731.000000  731.000000  731.000000   \n",
       "mean   366.000000    2.496580    0.500684    6.519836    0.028728    2.997264   \n",
       "std    211.165812    1.110807    0.500342    3.451913    0.167155    2.004787   \n",
       "min      1.000000    1.000000    0.000000    1.000000    0.000000    0.000000   \n",
       "25%    183.500000    2.000000    0.000000    4.000000    0.000000    1.000000   \n",
       "50%    366.000000    3.000000    1.000000    7.000000    0.000000    3.000000   \n",
       "75%    548.500000    3.000000    1.000000   10.000000    0.000000    5.000000   \n",
       "max    731.000000    4.000000    1.000000   12.000000    1.000000    6.000000   \n",
       "\n",
       "       workingday  weathersit        temp       atemp         hum   windspeed  \\\n",
       "count  731.000000  731.000000  731.000000  731.000000  731.000000  731.000000   \n",
       "mean     0.683995    1.395349    0.495385    0.474354    0.627894    0.190486   \n",
       "std      0.465233    0.544894    0.183051    0.162961    0.142429    0.077498   \n",
       "min      0.000000    1.000000    0.059130    0.079070    0.000000    0.022392   \n",
       "25%      0.000000    1.000000    0.337083    0.337842    0.520000    0.134950   \n",
       "50%      1.000000    1.000000    0.498333    0.486733    0.626667    0.180975   \n",
       "75%      1.000000    2.000000    0.655417    0.608602    0.730209    0.233214   \n",
       "max      1.000000    3.000000    0.861667    0.840896    0.972500    0.507463   \n",
       "\n",
       "            casual   registered          cnt  \n",
       "count   731.000000   731.000000   731.000000  \n",
       "mean    848.176471  3656.172367  4504.348837  \n",
       "std     686.622488  1560.256377  1937.211452  \n",
       "min       2.000000    20.000000    22.000000  \n",
       "25%     315.500000  2497.000000  3152.000000  \n",
       "50%     713.000000  3662.000000  4548.000000  \n",
       "75%    1096.000000  4776.500000  5956.000000  \n",
       "max    3410.000000  6946.000000  8714.000000  "
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#对数据值型特征，用常用统计量观察其分布\n",
    "train.describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>season_1</th>\n",
       "      <th>season_2</th>\n",
       "      <th>season_3</th>\n",
       "      <th>season_4</th>\n",
       "      <th>mnth_1</th>\n",
       "      <th>mnth_2</th>\n",
       "      <th>mnth_3</th>\n",
       "      <th>mnth_4</th>\n",
       "      <th>mnth_5</th>\n",
       "      <th>mnth_6</th>\n",
       "      <th>...</th>\n",
       "      <th>weathersit_1</th>\n",
       "      <th>weathersit_2</th>\n",
       "      <th>weathersit_3</th>\n",
       "      <th>weekday_0</th>\n",
       "      <th>weekday_1</th>\n",
       "      <th>weekday_2</th>\n",
       "      <th>weekday_3</th>\n",
       "      <th>weekday_4</th>\n",
       "      <th>weekday_5</th>\n",
       "      <th>weekday_6</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 26 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   season_1  season_2  season_3  season_4  mnth_1  mnth_2  mnth_3  mnth_4  \\\n",
       "0         1         0         0         0       1       0       0       0   \n",
       "1         1         0         0         0       1       0       0       0   \n",
       "2         1         0         0         0       1       0       0       0   \n",
       "3         1         0         0         0       1       0       0       0   \n",
       "4         1         0         0         0       1       0       0       0   \n",
       "\n",
       "   mnth_5  mnth_6  ...  weathersit_1  weathersit_2  weathersit_3  weekday_0  \\\n",
       "0       0       0  ...             0             1             0          0   \n",
       "1       0       0  ...             0             1             0          1   \n",
       "2       0       0  ...             1             0             0          0   \n",
       "3       0       0  ...             1             0             0          0   \n",
       "4       0       0  ...             1             0             0          0   \n",
       "\n",
       "   weekday_1  weekday_2  weekday_3  weekday_4  weekday_5  weekday_6  \n",
       "0          0          0          0          0          0          1  \n",
       "1          0          0          0          0          0          0  \n",
       "2          1          0          0          0          0          0  \n",
       "3          0          1          0          0          0          0  \n",
       "4          0          0          1          0          0          0  \n",
       "\n",
       "[5 rows x 26 columns]"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#对类别型特征，观察其取值范围及直方图\n",
    "categorical_features = ['season','mnth','weathersit','weekday']\n",
    "for col in categorical_features:\n",
    "    sn.countplot(train[col])\n",
    "    train[col] = train[col].astype('object')\n",
    "    plt.xlabel(col, fontsize=12)\n",
    "    plt.show()\n",
    "X_train_cat = train[categorical_features]\n",
    "X_train_cat = pd.get_dummies(X_train_cat)\n",
    "X_train_cat.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[<matplotlib.axes._subplots.AxesSubplot object at 0x000002C5F51097B8>,\n",
       "        <matplotlib.axes._subplots.AxesSubplot object at 0x000002C5F73370F0>],\n",
       "       [<matplotlib.axes._subplots.AxesSubplot object at 0x000002C5F735C9E8>,\n",
       "        <matplotlib.axes._subplots.AxesSubplot object at 0x000002C5F7389390>]],\n",
       "      dtype=object)"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYsAAAETCAYAAADH1SqlAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAIABJREFUeJzt3Xu4XFV9//F3cpKccAIJEBAOEEKj9VvDLRKtBxGFXihQUCm2AuoPbBFoQFECP9HIQ2spWkQLIeiPQm2QiqH4qMhN1IrxFqkEckHw22IUAhKLAXI7IcDJ+f2x1iQ7k5mzZ8/s2XM5n9fz5DmZvfbsvWbP2vPda+211xozPDyMiIjISMa2OgMiItL+FCxERCSVgoWIiKRSsBARkVQKFiIikkrBQkREUilYdAAzO8zMjm11PkSKYGbDZnZSq/MhO1Kw6Ax3AAe3OhMiMnopWHSGMa3OgIiMbmP0BHd7MLM3Ap8G3gSMA1YAHwauBN4WV1vs7seY2b7AfOAEYCNwNzDX3dfFbQ0DpwMfAwx4EHgvcAnwPmA98DF3vyWu/+u4vb8EZgHLgPPd/aGmfmiRCmL5/XvgROAw4HFCeVycSD/Z3e+Kr48B7gd2c/eNsTx/GngP8EbA4//fBVwADAOfcferivtUnU81izZgZrsC9xJ+pA8HBoANwA3AXwBPAR+P/wf4GuG7OxI4GXg1sKhss58mBJsB4EDgIUKQeGN8/w1xvyX/ANwCHEE4ub5tZnvm+TlFMvhb4O+AQ4FVwK1mlqWG/Y/AZwkXP0PAD4CDgLcAnwM+bWavyTG/XU/Boj30AVcBH3X3X7r7MuDzwEx3f45Q2De4+3PxRvdhwHvc/RF3f5Bw1XS8mR2S2Ob17n5/3NZdhBrIx93dCSfLLsDvJdZf5O6fd/fHgHOBV4B3N/VTi1T3T+5+j7v/D+Hc2A/YO8P7F7n7N9z9F4QLqV2Bv42vryLULl6Xd6a72bhWZ0DA3f/XzG4Czjezw4HXAq+ncjA/mBBc1ppZeZoBj8T/P55YPgj82t1LbY4vxr+9iXV+mMjPFjNbASSDj0iRfpn4/wvx7y4Z3l9e/te4+2YAdx8ys5fZsfxLCgWLNmBm/cBS4DFCc9StwKuAL1dYfRzwBPCnFdJ+m/j/y2VpW1Oy8UrZ67GEGo1IK1Qqe9WaoSr9jmUt/5JCzVDt4S+Al4A/cfer3f27wAEAsZ022QvhMUKVfIO7P+7uj8f3fpYQYOp1ROk/ZjaR0NS1vIHtiTTLS8CUxOsZrcrIaKKaRXtYC+wD/LmZPQIcA3wipvUS7je8zsxeBXwH+DmwyMwuJtQIrgP2BH7dQB7ONbMHCTfCP064MvuPBrYn0iw/A+aa2UNAP3Bxi/MzKqhm0R7+A7gRWEjoMnsu8AFCjWI2cC2hy+t97r4VeDvwHKG74GJCsDnR3RtpNvpX4CJCsNgf+GN339DA9kSa5QLCRdIyQo360tZmZ3TQcxZSes7iandf0OKsiEibUs1CRERSKViIiEgqNUOJiEgq1SxERCRVR3WdXbp06SuEALe+1XmRjjYZ2Dp79uy2L/8q85KThst8258sZcYCY3p6eqakrlmAoaHQU7Wnp6fFOalNJ+W3mXmN2+6UWnXVMt9J32cRdDx2lDweeZT5TgsW63t6eqbMmjWr1fkAIIzJBxXGaGpLnZTfZuZ12bJlDA0NdcqVetUy30nfZxF0PHaUPB55lPlOuboSEZEW6rSahYhIRdOmTWt1FrqagoUAsH7zyzz6TO211Jn9k5m8y/gm5kikdus3v8yjazbHV5tHXBdUfuuhYCEAPPrMek77l5/WvP6icwYYmDG1iTkSqZ3Kb/MpWIiIZDBaa+EKFiIiGYzWWox6Q4nIqDN9al+rs9BxVLMQkVFn0oRxmZuTAN4wfY8m5aj9KViIyKiUtTkJYMXlxzUpN+1PzVBSF1XjRUYX1SykLvVW47ulZ4jIaKNgIXWrpxrfLT1DREYbNUOJiEiqTDULMxsD3APc7e4LEsvnAecDuwF3ABe4+wuJ9LOBecA+wPeA89z9qcazLyIiRai5ZmFmY4HrgOPLls8BPgS8HzgWmAnclEg/EbgGuBQYAMYDX4+BR0REOkBNwcLMZgCLgZOAF8qS5wJXuPt97v4gcCZwqpkdmEi/wd1vc/cVwBnA4cBb8vgAIiLSfLXWLAaAlcARwLrSQjPbF5gB/KC0zN1XAs8DR8XayEBZ+lrgERQsREQ6Rk33LNz9VuBW2GkWqv3j36fL3vIMcACwB9A3QrqIiHSARrvOlp7M2lK2fAvQW0N6ZkNDQ9umC2y1wcFBgNT87L333kycOLGufbz44os8++yzdb23XLX8Fj1pzODgIKtXr05dB9KPbT1KcxOLSO0aDRalWUZ6gQ2J5b3AYFk6FdJHhYkTJ/LKmPGZH2B7/YG7M6W3N3OgyTPAiIhA48Gi1P21H/hdYnk/oelpLSEo9Je9r5/EfYwsenp62mZC9tLVb19f+tAXP121tq5xaLZAYgawdDP7J7Pnnn3sueeeO6WNPKF97ftoVF9fX+p3OHJeGxMnr899uyLdrKFg4e5rzGwVcDThBjhmdiiwO7DE3YfN7IGYfmdMnwocAlzYyL5baedhLkb+oW1kpMrROna+iLSXPIb7mA980syeANYANwK3u/uTMf1aYJGZrQSWAVcDD7v7D3PYd0tk/QEfzSNVikh3yCtY7AUsJDxwdxcwp5To7neY2SXApwg1jvuBU3LYr1Qw0miwRd/IFpHukTlYuPtBZa+Hgcviv2rvWQAsqJYu+altNNgdm81G84QuIlIbjTrbhdRMJiJ506izIiKSSsFCRERSKViIiEgqBQsREUmlYCEiIqkULEREJJWChYiIpFKwEBGRVAoWIiKSSk9wi4zAzMYA9wB3x2FrSsvnAecDuwF3ABe4+wuJ9LOBecA+wPeA89z9KUQ6lGoWIlXEOeSvA44vWz4H+BDwfuBYYCZwUyL9ROAa4FLCHPTjga/HwCPSkRQsRCowsxnAYuAk4IWy5LnAFe5+n7s/CJwJnGpmBybSb3D329x9BXAGcDjwlmJyL5I/BQuRygYIE3odAawrLTSzfYEZJGZ6dPeVwPPAUbE2MlCWvhZ4BAUL6WC6ZyFSgbvfCtwKO03tun/8+3TZW54BDgD2APpGSM9saGho2zSzSaVpfSuljSadME/L4OAgq1evLnyfEMpHHtMIq2Yhkk1pdqktZcu3AL01pIt0JNUsRLIpzRzVC2xILO8FBsvSqZCeWU9PT3ntBtheo6iUNvpsTl+lhfr6+gr/npLlY9myZQ3XLlSzEMmm1P21v2x5P6HpaS0hKFRLF+lIqlmIZODua8xsFXA04QY4ZnYoYX75Je4+bGYPxPQ7Y/pU4BDgwtbkurOkTwu8I00LXAwFC5Hs5gOfNLMngDXAjcDt7v5kTL8WWGRmK4FlwNXAw+7+w5bktsNoWuD2pGYokezmA18AFgL/CTwKfKCU6O53AJcAnwKWAC8BpxSeS5EcqWYhksLdDyp7PQxcFv9Ve88CYEG1dJFOo5qFiIikUrAQEZFUaoaSQk2f2pe+Ep3xVK7IaJJLsDCzNwM/Llu8yd13NbNxwGcJg6mNA24BLnb3l/LYt3SWSRPGZewauZmZ/ZOZvMv4puZLREaWV81iJqHPebIP29b490rgBODtwATgZkLvkItz2rd0mKxdIxedM8DAjKlNzJGIpMkrWBwM/Nzd1yQXmtlEYA5wursvics+CHzFzC5z9/Z+Rl9ERID8bnAfDPyiwvJZwCQSwzUT5giYFNNERLparffp2l2eNYuNZrYcmEoICHMJwzlvcvdt8wG4+3ozGyTn4ZqLohuvrZHnEM95DNcsUqvs9+loy/t0DQcLM5sC7EeYOvJsQq3hSuBbhBvb5UM1g4ZrFpFRpBvu0zUcLNx9XQwYm9x9CMDMTgF+Qxg3uFJQyH245mLpVkvR8hziOY/hmkVGm1zuWbj7+lKgiK9/Sxiq+TXAJDPbrZRmZpOpPJOYiIi0qYaDhZkNmNmGxGT1xP/vRRhEbRNhuOaSt8Vlyxvdt4iIFCOPG9wPE5qcvmhmFwETCaNyft/dF5vZjcACMzsTGANcB1zv7i/msG8RESlAwzULd99CeOhuI6EX1LeB/wbeFVe5NC67E/gacAcwr9H9iohIcXLpOuvuq4B3VknbApwX/4mISAfSqLMiIpJKwUJERFIpWIiISCoFCxERSaVgISIiqUb9THlZB/h6w/Q9mpgbEZH2NOqDRdYBvlZcflz6SiIiXUbNUCIikkrBQkREUilYiIhIKgULERFJpWAhIiKpFCxERNrM9Kl9rc7CTkZ911kRkXYzacK4zM+AzeyfzORdxjctTwoWIiJtKOszYIvOGWBgxtSm5UfNUCIikkrBQkREUilYiIhIKgULERFJpWAhIiKpFCxERCSVus6KSNNovpju0VXBQgVTpL1ovpju0VXBQgWzO7Xj0Acio01XBQvpTu049IHIaFNIsDCzccBngTPiPm8BLnb3l4rYv3S+dhv6II3KvHSbomoWVwInAG8HJgA3Ay8BFxe0f5GiqcxLV2l611kzmwjMAea6+xJ3Xwx8EDjPzHZp9v5FiqYyL92oiOcsZgGTgB8kli2Oy2YVsH+RoqnMS9cZMzw83NQdmNmpwM3uvmvZ8k3AWe5+e63bWrp06VZgTKW0sWND3BvK8Hl6xowFhtvyPe2ev/b/TKGYbN26tdoqw7Nnz27KxVJRZR62l/tmGzOmahZGNDzcnmWx/ctv+5X5Iu5Z9AFbKizfAvRm3NZWQm1op24xpQOUpUhvHR5q2/cUua/u/EwjnmSTCWWpWQop8zDiD0PbaMey2P7lt/3KfBHBYjOVT5BeYDDLhmbPnq2uvtIJVOal6xRRh30KmGRmu5UWmNlkwtXX0wXsX6RoKvPSdYoIFsuBTcDRiWVvi8uWF7B/kaKpzEvXafoNbgAz+2fgHcCZhGa4LwG3uftHm75zkRZQmZduU1R76KXALsCdwCvAl4F5Be1bpBVU5qWrFFKzEBGRzqbJj0REJJWChYiIpFKwEBGRVAoWIiKSSsFCRERSKVi0KTM7zMyObXU+RPJgZgvN7KsNvP+rZrYwxyzlxswuMLNftzofzaZxZ8pkmeHMzPYArgJOIkxwcz9wobs/HdPfDPy47G2bykcjreKOmI/7c8rrflQeamJvd/9dXGcecD6wW9z/Be7+Qg15rUmt+TWzY6j+uc909y81eGw7QtbZ9pr9/TXoQrKP27eTvMt8tzCzMcA9wN3uvmCE9eouIwoWO8syw9m/AfsTntTdDFwNfNPM/tDdh4CZwErguMR7ah35sZYTK0teZwIvAK8rW74WwMzmAB8C/k9c9i/ATcC7asxvLWrN70+A/rJlnwT+GPhGfN3Ise0UNX+/BX1/dXP3dTltKrcy3y3MbCwwHzgeuHuE9RoqI3ooLyHOcPY74HR3vzMuOxn4CuFqZHNi3b2AZ4EBd38gLtufMIjcLHdfHod82NfdT8+Yj+8TxhKCMGnOaYTCcAKwkVAgPg6sAk4Hvhn/fgo4CFhCuPK6BHgfYXjr+4HXuPuRsco8H/hLwmQ8y4ADgKvc/bqYh0OBFcB0d38yS/6rfKaaj22F984GHgCOcfcfxWV1HdtOkfV4mdkvgWua9f2NkM9lwCJ3/3R8fT1wFjDF3V8xs32BZwg1gD53f5eZnQVcAPwH8BFgPPAt4Fx33xS38z7gcsJFw63APsA64BTgrwkXaMcTJpQaRzjnHom10m8AHwaujelfJNT4N8dtv5ZQ/t9KOIdvAy5z9y01pr8RuA44DPgZ4eLmdHc/KKfDWjMzm0EImNOAKTGfFWsWjZYR3bPYUZYZzjYDJxJ+aEtKV7alqTMPBn5RRz7+ghB0Ph7//zXCd3UkcDLwasIJkczrpwknIMAM4CFCkHhjfP/pwOOJffwD4QQ+AniSECy2fRZ3Xwk8DxxVR/4raWT2uKuAr5YCRVTvse0UNR+v+IM8I7luE76/au4F/ijx+lhC+T8ivj6O8D2V1/oOIwy0+CfABwjl/DyAeK/ui8Dn4nY2Esr9noTPfyzh8x4DvBnoAf49se1dCRdK3we+Hffx+bjticB9hAut1xMupo4nBJZa0vckBLblMW9fIgS8Vhkg1LCPIATTivIoIwoWO9qf0O697aC7+3rCHAQHJFd0903ufm/paiO6iPADvSK+Phg43MyWm9lTZvbl+KWNyN2fA4aADcDhhBPrPe7+iLs/CLyHEDg2J/J6vbvfHfO6nHCCfdzdnXDS9QCvNrMH4mdZC3zb3R8D/jlu401lWXmm/HM3oOZjm2RmA4Qfh78rS6rr2HaQLMdr//i3vH0+z++vmnuBo8xsgpntQ6jZ/ifbR9z9M0JbernxwAfc/efu/nXCD/DsmHYe8A13/3wsvxcRAk4fYeTe/Qjnxq/c/SHChVty9sGeuI29CLWOV4CzzOxewr2Tl4HzPfhBXPcDcRj501PS302YxOoCd/+Fu/8rsLDOY9cwd7/V3efE34yRNFxGFCx2VPcMZ2Z2GqFQX+rug2Y2hVCoxwNnA+8Ffg/4lpmNz5Cng2O+1prZRjPbCPx3TBtKrFeqNWwhnBy/dvdSG+OL8e+uwFxC1XotsNjMdo95BHht2b7rmdmtmnqP7RzgXnffVovI8di2syzHqy+RlrZu3n5C+HEtBfUHgO8BR8ebrn9K5Xb0De6+JvF6PdvL4SGEmjEAsRz/jBAEthCaW2cDz5rZt4BhILmtIUJT7OsIN3IvicsnAZ8gXGFvSJxP3yH8Fv4+4XwbKf0QYKW7v5zY33+lH6aWa7iMKFjsqK4ZzmIb7L8T2gO/ANtu6E0B3unuP3P37xPaWw9l+/2IWowDniA0PST/fZAdb4KXCm8vIVhUutl7bmzK2UJok51AuLlV7X5B5pndRpD52JrZBMIxuzm5PMdj286yHK/NibS0dXPl7q8A3yU0RR1DaCpbDLyF0DQyEfhhhbdW6tE1psr/S+sPAb3u/lNCDeZvCBc+fcBlsQkJQtnfSrhiPgZYGpd/lBBwVrHjuXQ4IRA8SjjfloyQXi1v7a7hMqJgsaPMM5yZ2UcIvaI+4+5zk2nuvj72iiq9/i3hir6Wal+pVvAYsdrt7o+7++OEwvlXI+R1Q5VtJq+GDgV+FfPybFz2VNn6/eQ3s1s9s8e9lXDy7tSM0eCx7QRZjlfpeyvvQZbn9zeSewk91Y4iBIqfEe5bzAW+U3YVXosV7NwkegThR22SmV0OvMndbyV0AwWYTmiuhVBDOcTdB2Mz8R8SatcrgN8SzqenEufTnoR7fhMI59vvj5C+gtD8mfzRPYL213AZUbDYUaYZzszsrwn3Az7h7h8rSxswsw1mdmBi2YGEdtTHasjLRkI1+mHg58AiM5ttZocTajFTR8jrs2XbKrXlJ2+Mnkuocq8j3Owu3SMp5fVQYHfCVVYe6pk97kjgIXffmFyYw7HtBDUfr9icsyq5bhO+v5HcS/hxfw3w0xgcfkLoxVfpfkWaa4ETzewiM3utmV1BuLp/jvD53wDMj8/a/BXhImg925tnARbGMvJBwnMZNxF+7/YgXGzdbGaHmNmRhIu9SbHG+u+Ec6Fa+qKYfqOZ/YGZnUFoCm1reZQRBYuE2LXuRmCBmR1tZm8ldJG73t1fNLMpZrY3bOtdcB2hK+O/mtm+iX+9hB/53wBftPA09h8Sugp+v9TVNsW1hJ4Y9xH6lD9H6P66mHAFfUIpr3H9g0t5JRTmnlJe2d6ee7GZvYlw5fW/hO//Hwk3v/4JmGdmfx67qt4M3J5Xt8ssxzbhMOCRCptr9Ni2vTqO13zgk836/lLy+htCkH4w0aV3MaG55t46tvdTQrfuDxAC40zCeTZEOCaHAL8E7oqvnyX0TBwmNE9C6OnXS+i88WPCD/5XCOfCsYSg8V+Eyal+RuhqTuy6e9wI6esIvaumE8rhxWzvINJW8i4jeihvZyPNcHYtoQ30IMJT232E3hPlff1Pdve7zOwEQs2jdOJ8k9D/O5W730S4Gio5tXwdMyvl9TTCTbwvA/Ni//aFhEJ+kLuvMbNXER4avJNwBf4I4bmFJ+K2xhDaeRcSgsldhJvLear12Jbsw47dfQFw9y2NHNsOkuV4zSd8rwtp3vdXlbsfXvb6CuCKxOuzEv9fSFkPomR6fP0Ntj+AuU28ECuV+VcIn3tuoswfH1e9kVBLuJpwYXUK4d7Kn8UyfxxVuPvPU9IfZed7Y5dXW7+Fci0jeihvFLLwUN7V1R7eETCzAwhXjMcSfpTuJvwovRDvHVxP6Pv/IqEP/z+Uep9ZxmE6JD+2faiY3cqbL6UxqlmIlDGzHsK4Of/L9ofMvkCotr+DUOObRrhqmxaXP8f2JsEsQ1KIdATVLETKmNkbCE14/aVnAczsKOBHhCr9r4DD4xOwxJuoH3b3V1sDw5qItDPd4BbZ2a+AE8oeGitdVR0JrCsFimgxMMPM+mlsWBORttVRzVBLly59hRDg1rc6L9LRJgNbZ8+eXbH8u/tawvATSR8h3Gzfn8pDJkB4xqPiMB1mNuKwJtWozEtORizzteioYEE4acb09PRMSV2zQEND4dmwnp6eFuekuk7IIxSTz7iPmmvVZvZRQm+0kwkPYFUaMgFCV826h4ypYiyht1dblXnpSA21JHVasFjf09MzZdas9qrNh7HOwMxanJPqOiGPUEw+ly1bxtDQUE1X6mZ2GWEujQvd/W4zex2Vh0yA8IRxXUPGjGA9MGXXXXdt++8uq04pk/Vot8+WpcxXo3sWIlWY2TXA3wNz3H1+XPwUlYdMgPCgYD3Dmoi0vUw1C6sydZ+lTNVnZmcTHibahzAi5XnuXj4OkUjbMLNPEgZrPNPdb0kk/QTY08xmxoezIDygtSo+/LiO7cN03JNIH2lYE5G2V3OwsCpT91nKVH1mdiJwDWGEyMeAzwBftzD16Kjpt7t+88s8+ky2WuDM/slM3qVbRtyuzbRp01qdBczs9YSLm6uB79iO82T8hvBk8ZfM7FxCreLv4/q4+2YzKw3TcSbhfsO2YToK/Bi5UvmVmoKF7Th1X/nk3nOBK9z9vrjumcAKMzswjjkyF7jB3W+L6WcQeo+8hcpDF3elR59Zz2n/8tNM71l0zgADM6Y2KUetU9sPz/bHEVrwo3MqoYn2/8Z/SYcSpvX8f4TuseuBz5WGpo9GGqajI6n8Sq01i9LUfe8gMSmJVZmqz8yeJ8ye9VR87/xE+loze4RRFixku6w/PEX/6Lj7JwiT5Izk3SO8fwthdrXz8syXSCvVFCziuPG3wk5399Om6tuDyjf26p7ucWhoaFtPg3YxOBg6uVTLVyNNK4ODg6xevbru9ye3A9XzmNW0adN4Zcz4zE0Tb5i+R137y+s4wPbuuSJSu0a7zqZN1dfK6R6lyeppmlhxedXBPEWkjTUaLJJT9SVnZyv1Kc99useenp626btcUluf6vqGBOrr68vl8zan33dxwxzldRxgW5/zXLYlMlo0+pxF2lR9awlBoVXTPYqISA4aChZpU/XFrrEPlKVPJcx09ZNG9i0iIsXJY7iP0lR9TxCmLLyRHafqu5Ywf/RKYBmh7/rD7q6eUCJdbPrUvhHT2+GZGqldXsGi6lR97n6HmV0CfIpQ47ifMMWhpEg72UTa2aQJ4zrhmRqpUeZg4e4Hlb0eBi6L/6q9ZwHbZxGTGtV+sm1X78mWdT/1doGV0aXdn6mR2nXaqLNtqZnV6aJOtqz7URdYkdFFwaIO1a/CK3cl1VW4iHQ6BYs66CpcREYbzWchIiKpFCxERCSVgoWIiKRSsBARkVQKFiIikkrBQkREUqnrbJepNkSIxuERkUYoWHSZ9CFCdn5wUA8NikgaBYsupIcGRSRvumchIiKpFCxERCSVgoWIiKRSsBARkVQKFiIikkrBQkREUilYiIhIKgULERFJpWAhIm2j2nA10np6gltE2kb6cDU7m9k/mcm7jG9irgQULESkzWQdrmbROQMMzJjaxBwJqBlKRERqoGAhIiKpFCxERCSVgoWIiKTSDW6REZjZGOAe4G53X5BYPg84H9gNuAO4wN1fSKSfDcwD9gG+B5zn7k8VmXeRPKlmIVKFmY0FrgOOL1s+B/gQ8H7gWGAmcFMi/UTgGuBSYAAYD3w9Bh6RjqRgIVKBmc0AFgMnAS+UJc8FrnD3+9z9QeBM4FQzOzCRfoO73+buK4AzgMOBtxSTe5H8KViIVDYArASOANaVFprZvsAM4AelZe6+EngeOCrWRgbK0tcCj6BgIR0sl3sWZvZm4Mdlize5+65mNg74LOHqahxwC3Cxu7+Ux75FmsHdbwVuBTCzZNL+8e/TZW95BjgA2APoGyG9LoODg7h7vW9vyLRp01qy3ywGBwdZvXp1q7OxzeDgIEDLvrNyQ0NDDW8jrxvcMwlXYccllm2Nf68ETgDeDkwAbgZeAi7Oad8iRSoNXrSlbPkWoLeG9Jbae++9mThxYqb39Pb2ApubkyHpGHkFi4OBn7v7muRCM5sIzAFOd/clcdkHga+Y2WXurhIonaZUZnuBDYnlvcBgWToV0uvS19dXXsOpW9axl94wPVtwaYU8j08eSjWKdsnTsmXLGq5d5BksypuhAGYBk0i03xJuGk6KaUty2r9IUUrdX/uB3yWW9xOantYSgkJ/2fv62fE8aJmsYy+tuPy49JWk6+UZLDaa2XJgKiEgzCW0725y9203CN19vZkNUmf77dDQUEvbATuh/bYb5dkm3cgVlruvMbNVwNGEplfM7FBgd2CJuw+b2QMx/c6YPhU4BLiwwayLtEzDwcLMpgD7EfqSn02oNVwJfItwY7u87RbapP1WpE7zgU+a2RPAGuBG4HZ3fzKmXwssMrOVwDLgauBhd/9hS3IrkoOGg4W7r4sBY5O7DwGY2SnAbwjtt5WCQt3ttz09PW3QDqhbLUXLs006h/bb+cBewELCRdJdhHtzALj7HWZ2CfApQo3jfuCURnYo0mq5NEO5+/qy1781s7XAa4BJZrabu28AMLPJVO5aKNKW3P2gstfDwGXxX7X3LAAWVEsX6TQNP5SYSLLmAAAIRUlEQVRnZgNmtiHx9Crx/3sRbmBvIrTflrwtLlve6L5FRKQYedQsHiY0OX3RzC4CJhKq6d9398VmdiOwwMzOBMYQxtq53t1fzGHfIiJSgIZrFu6+hfDQ3UZCL6hvA/8NvCuucmlcdifwNcIInfMa3a+IiBQnr3sWq4B3VknbApwX/4mISAfSQIIiIpJKwUJERFIpWIiISCoFCxERSaVgISIiqfIaSLBjZR+ueY8m5kZEpD2N+mCh4ZpFOtv0qX3pK0nDRn2wEJHONmnCuMwtBDP7JzN5l/FNzFX3UbAQkY6XtYVg0TkDDMyY2sQcdR/d4BYRkVQKFiIikkrBQkREUilYiIhIKgULERFJpWAhIiKpFCyk7emhK5HW03MW0vb00JVI6ylYSEfQQ1ciraVmKBERSaVgISKjju6DZadmKBEZdeq5Dwaj+16YgoWIjEpZ74PB6L4XpmYoERFJpWAhIiKp1Awl0sE0LbAURcFCpINpWmApipqhREQklYKFiIikUrAQEZFUumchIlKjWp/8njZtWpNzUryuChbqGSIizZT9ye/NXfPUdyHBwszGAZ8Fzoj7vAW42N1fynM/6hki7aKoMi/FG60jIBdVs7gSOAF4OzABuBl4Cbi4oP2LFE1lXoDuGbSw6cHCzCYCc4DT3X1JXPZB4Ctmdpm7b252HkSKpDIvSd0yeVcRNYtZwCTgB4lli+OyWcCSAvIgUiSVedlBNzRdjRkeHm7qDszsVOBmd9+1bPkm4Cx3v73WbS1dunQrMKZS2tixoRfwUIbP0zNmLDDclu9p9/y1/2cKxWTr1q3VVhmePXt2U7qOq8wXu6/u/EwVv/JUI5R3aLDMF1Gz6AO2VFi+BejNuK2thGdDdqrPlQ5SlkO8dXiobd9T5L668zONeGJOJpSlZhn1Zb7IfXXnZ8r9Ir7hMl9EsNhM5ROkFxjMsqHZs2d3VVdf6Voq89J1iniC+ylgkpntVlpgZpMJV19PF7B/kaKpzEvXKSJYLAc2AUcnlr0tLltewP5FiqYyL12n6Te4Aczsn4F3AGcSmu6+BNzm7h9t+s5FWkBlXrpNUe2hlwK7AHcCrwBfBuYVtG+RVlCZl65SSM1CREQ6m4YoFxGRVAoWIiKSSsFCRERSKViIiEgqBQsREUmlYCEiIqk07kwVWWY6M7M9gKuAkwgT3dwPXOjuT8f0NwM/LnvbpvJRSZucx/2oPNTE3u7+u7jOPOB8YDfgDuACd3+hiDya2TGE41bJme7+pWYdx1bLOqteM76nZsnzPGo39c6GaGbnADe4e31Dy7aIahbVJWc6e2f8e2WVdf+NME/BO4BjCCfxN82sJ6bPBFYC/Yl/MwrO40zghbI89ANrAcxsDvAh4P3AsXH9mwrM408q5O1GYBXwjcRnaMZxbLWav8cmfk/Nkud51G6yfDYAzGwa8JnmZy1/eiivgjjT2e8IM53dGZedDHyFcCW+ObHuXsCzwIC7PxCX7U8YTG6Wuy+PQz/s6+6ntyKPMe1C4DR3P7LK9n4JXOPu18XXhwIrgOnu/mQReSx772zgAeAYd/9RXJb7cWy1Or7H3L+nZsn7PCo6/yOpt2yb2X3AROCtqll0h7SZzpI2AycCyxLLSuPG7xL/Hgz8ooV5HDEPZrYv4Qp927bcfSXwPHBUgXlMugr4ailQRM04jq1W8zFq4vfULHmfR+0kc9k2s7OBPYHPNT13TaB7FpXtT2gLX1da4O7rzWwQOCC5ortvAu4te/9FhMlqVsTXBwMbzWw5MJVQqOa6+5oi8pjIwyYzewA4EHgQ+Ii7Px63BTvf03imyraalUcAzGyA7U0s5Z8h7+PYalmOUbO+p2bJ+zxqJ5nKdmx++hTwR8D0wnKZI9UsKqt7pjMzO41QyC9190EzmwLsB4wHzgbeC/we8C0za2RG9qx5fB2hDXgucAowDCw2s93jtkrvrWVbzcpjyRzgXnffVoto4nFstSzHqFnfU7Pkdh41IW+NyvrZbgQWxJpgR1LNorK6Zjozs7MINxuvcfcvALj7uvhDt8ndh+J6pwC/Icxx8N2C8ngAMOTuW2Ie3g08CbyL7VX/XmBDDdtqVh4xswmEYPY3yeVNPI6tluUYbU6k5fk9NUtu51EbqvmzmdnfEDpjjHjzu92pZlFZ5pnOzOwjhN4cn3H3uck0d19f+oGLr39L6IXUSNNBpjy6+2ApUMTXm4FfxTw8FRf3l72tv9K2mpXH6K2Ei5h7yhOadBxbLcsxatb31Cy5nkdtJstney/wB8DzZrYRuD2uv9HM3lNQfhumYFFZppnOzOyvCTetPuHuHytLGzCzDWZ2YGLZgcBewGNF5NHM9jezdWZ2dGLZbsBrgcdim/+q5LZiL5vdgSVF5DHhSOAhd99Y9hmadRxbreZj1MTvqVlyO4/aUJbP9l7C/bZZ8d+H4vJZwDebm838qOtsFSPNdBabQya4+7Oxh8ovCQ9HXVS2mefj3xXA6pg+EZgPDLr7HxWRx7ju/YQflfMIVegrgdcAh7r7y7Fr7WVxW2sIbaz/4+7vLiqPcf3bgefc/dyy7fTSpOPYahm/x6Z8T82S13mUrBW3i6xlO/G+k4A7O63rrO5ZVDfSTGfXEh4aOojwtGkfcHr8l3Syu99lZicQrpgWEwrVN4EPF5hHgL8Cro7rTiK08f+Zu78c0+cTrtIXEm4i30W40VxkHgH2AR4v34i7b2nicWy1LMeoWd9Ts+RyHhE+Z7vJWrY7mmoWIiKSSvcsREQklYKFiIikUrAQEZFUChYiIpJKwUJERFIpWIiISCoFCxERSaVgISIiqRQsREQk1f8H/S6RVE3rb/gAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 4 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#对数值型特征，直方图\n",
    "numerical_features = ['temp','atemp','hum','windspeed']\n",
    "train[numerical_features].hist()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>temp</th>\n",
       "      <th>atemp</th>\n",
       "      <th>hum</th>\n",
       "      <th>windspeed</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0.355170</td>\n",
       "      <td>0.373517</td>\n",
       "      <td>0.828620</td>\n",
       "      <td>0.284606</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0.379232</td>\n",
       "      <td>0.360541</td>\n",
       "      <td>0.715771</td>\n",
       "      <td>0.466215</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0.171000</td>\n",
       "      <td>0.144830</td>\n",
       "      <td>0.449638</td>\n",
       "      <td>0.465740</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0.175530</td>\n",
       "      <td>0.174649</td>\n",
       "      <td>0.607131</td>\n",
       "      <td>0.284297</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0.209120</td>\n",
       "      <td>0.197158</td>\n",
       "      <td>0.449313</td>\n",
       "      <td>0.339143</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       temp     atemp       hum  windspeed\n",
       "0  0.355170  0.373517  0.828620   0.284606\n",
       "1  0.379232  0.360541  0.715771   0.466215\n",
       "2  0.171000  0.144830  0.449638   0.465740\n",
       "3  0.175530  0.174649  0.607131   0.284297\n",
       "4  0.209120  0.197158  0.449313   0.339143"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#数值型变量预处理，\n",
    "#感觉数据已经做过处理（取值都在0-1之间），这里用MinMaxScaler再处理一次\n",
    "from sklearn.preprocessing import MinMaxScaler\n",
    "mn_X = MinMaxScaler()\n",
    "numerical_features = ['temp','atemp','hum','windspeed']\n",
    "temp = mn_X.fit_transform(train[numerical_features])\n",
    "\n",
    "X_train_num = pd.DataFrame(data=temp, columns=numerical_features, index =train.index)\n",
    "X_train_num.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>season_1</th>\n",
       "      <th>season_2</th>\n",
       "      <th>season_3</th>\n",
       "      <th>season_4</th>\n",
       "      <th>mnth_1</th>\n",
       "      <th>mnth_2</th>\n",
       "      <th>mnth_3</th>\n",
       "      <th>mnth_4</th>\n",
       "      <th>mnth_5</th>\n",
       "      <th>mnth_6</th>\n",
       "      <th>...</th>\n",
       "      <th>weekday_3</th>\n",
       "      <th>weekday_4</th>\n",
       "      <th>weekday_5</th>\n",
       "      <th>weekday_6</th>\n",
       "      <th>temp</th>\n",
       "      <th>atemp</th>\n",
       "      <th>hum</th>\n",
       "      <th>windspeed</th>\n",
       "      <th>holiday</th>\n",
       "      <th>workingday</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0.355170</td>\n",
       "      <td>0.373517</td>\n",
       "      <td>0.828620</td>\n",
       "      <td>0.284606</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.379232</td>\n",
       "      <td>0.360541</td>\n",
       "      <td>0.715771</td>\n",
       "      <td>0.466215</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.171000</td>\n",
       "      <td>0.144830</td>\n",
       "      <td>0.449638</td>\n",
       "      <td>0.465740</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.175530</td>\n",
       "      <td>0.174649</td>\n",
       "      <td>0.607131</td>\n",
       "      <td>0.284297</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.209120</td>\n",
       "      <td>0.197158</td>\n",
       "      <td>0.449313</td>\n",
       "      <td>0.339143</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 32 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   season_1  season_2  season_3  season_4  mnth_1  mnth_2  mnth_3  mnth_4  \\\n",
       "0         1         0         0         0       1       0       0       0   \n",
       "1         1         0         0         0       1       0       0       0   \n",
       "2         1         0         0         0       1       0       0       0   \n",
       "3         1         0         0         0       1       0       0       0   \n",
       "4         1         0         0         0       1       0       0       0   \n",
       "\n",
       "   mnth_5  mnth_6  ...  weekday_3  weekday_4  weekday_5  weekday_6      temp  \\\n",
       "0       0       0  ...          0          0          0          1  0.355170   \n",
       "1       0       0  ...          0          0          0          0  0.379232   \n",
       "2       0       0  ...          0          0          0          0  0.171000   \n",
       "3       0       0  ...          0          0          0          0  0.175530   \n",
       "4       0       0  ...          1          0          0          0  0.209120   \n",
       "\n",
       "      atemp       hum  windspeed  holiday  workingday  \n",
       "0  0.373517  0.828620   0.284606        0           0  \n",
       "1  0.360541  0.715771   0.466215        0           0  \n",
       "2  0.144830  0.449638   0.465740        0           1  \n",
       "3  0.174649  0.607131   0.284297        0           1  \n",
       "4  0.197158  0.449313   0.339143        0           1  \n",
       "\n",
       "[5 rows x 32 columns]"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Join categorical and numerical features\n",
    "X_train = pd.concat([X_train_cat, X_train_num, train['holiday'],  train['workingday']], axis = 1, ignore_index=False)\n",
    "X_train.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[Text(0.5, 1.0, 'dayly distribution of counts')]"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import datetime\n",
    "\n",
    "train['date'] = pd.to_datetime(train['dteday'])\n",
    "train['dayofyear'] = train[\"date\"].dt.dayofyear  #减今年的第几天\n",
    "\n",
    "fig,ax = plt.subplots()\n",
    "sn.pointplot(data=train[['dayofyear',\n",
    "                           'cnt',\n",
    "                           'yr']],\n",
    "             x='dayofyear',y='cnt',\n",
    "             hue='yr',ax=ax)\n",
    "ax.set(title=\"dayly distribution of counts\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "每年开始和结束的数量少，中间多，骑行量和季节/月份有关"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[Text(0.5, 1.0, 'Seasonly distribution of counts')]"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig,ax = plt.subplots()\n",
    "sn.barplot(data=train[['season',\n",
    "                       'cnt']],\n",
    "           x=\"season\",y=\"cnt\")\n",
    "ax.set(title=\"Seasonly distribution of counts\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "骑行量和季节的关系就很明显了：第2、3、4季度的骑行量明显高于第1季度"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[Text(0.5, 1.0, 'weathersit distribution of counts')]"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#天气和骑行数量的关系\n",
    "fig,ax = plt.subplots()\n",
    "sn.barplot(data=train[['weathersit',\n",
    "                       'cnt']],\n",
    "           x=\"weathersit\",y=\"cnt\")\n",
    "ax.set(title=\"weathersit distribution of counts\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x2c5f80946a0>"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "corrMatt = train[[\"temp\",\"atemp\",\n",
    "                  \"hum\",\"windspeed\",\n",
    "                  \"casual\",\"registered\",\n",
    "                  \"cnt\"]].corr()\n",
    "mask = np.array(corrMatt)\n",
    "mask[np.tril_indices_from(mask)] = False\n",
    "sn.heatmap(corrMatt, mask=mask,\n",
    "           vmax=.8, square=True,annot=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "体感温度和温度高度相关 目标cnt与温度正相关、湿度和风速负相关"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>instant</th>\n",
       "      <th>season_1</th>\n",
       "      <th>season_2</th>\n",
       "      <th>season_3</th>\n",
       "      <th>season_4</th>\n",
       "      <th>mnth_1</th>\n",
       "      <th>mnth_2</th>\n",
       "      <th>mnth_3</th>\n",
       "      <th>mnth_4</th>\n",
       "      <th>mnth_5</th>\n",
       "      <th>...</th>\n",
       "      <th>weekday_5</th>\n",
       "      <th>weekday_6</th>\n",
       "      <th>temp</th>\n",
       "      <th>atemp</th>\n",
       "      <th>hum</th>\n",
       "      <th>windspeed</th>\n",
       "      <th>holiday</th>\n",
       "      <th>workingday</th>\n",
       "      <th>yr</th>\n",
       "      <th>cnt</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0.355170</td>\n",
       "      <td>0.373517</td>\n",
       "      <td>0.828620</td>\n",
       "      <td>0.284606</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>985</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.379232</td>\n",
       "      <td>0.360541</td>\n",
       "      <td>0.715771</td>\n",
       "      <td>0.466215</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>801</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.171000</td>\n",
       "      <td>0.144830</td>\n",
       "      <td>0.449638</td>\n",
       "      <td>0.465740</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1349</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.175530</td>\n",
       "      <td>0.174649</td>\n",
       "      <td>0.607131</td>\n",
       "      <td>0.284297</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1562</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.209120</td>\n",
       "      <td>0.197158</td>\n",
       "      <td>0.449313</td>\n",
       "      <td>0.339143</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1600</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 35 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   instant  season_1  season_2  season_3  season_4  mnth_1  mnth_2  mnth_3  \\\n",
       "0        1         1         0         0         0       1       0       0   \n",
       "1        2         1         0         0         0       1       0       0   \n",
       "2        3         1         0         0         0       1       0       0   \n",
       "3        4         1         0         0         0       1       0       0   \n",
       "4        5         1         0         0         0       1       0       0   \n",
       "\n",
       "   mnth_4  mnth_5  ...  weekday_5  weekday_6      temp     atemp       hum  \\\n",
       "0       0       0  ...          0          1  0.355170  0.373517  0.828620   \n",
       "1       0       0  ...          0          0  0.379232  0.360541  0.715771   \n",
       "2       0       0  ...          0          0  0.171000  0.144830  0.449638   \n",
       "3       0       0  ...          0          0  0.175530  0.174649  0.607131   \n",
       "4       0       0  ...          0          0  0.209120  0.197158  0.449313   \n",
       "\n",
       "   windspeed  holiday  workingday  yr   cnt  \n",
       "0   0.284606        0           0   0   985  \n",
       "1   0.466215        0           0   0   801  \n",
       "2   0.465740        0           1   0  1349  \n",
       "3   0.284297        0           1   0  1562  \n",
       "4   0.339143        0           1   0  1600  \n",
       "\n",
       "[5 rows x 35 columns]"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#整理数据，并导出\n",
    "FE_train = pd.concat([train['instant'], X_train,  train['yr'],train['cnt']], axis = 1)\n",
    "FE_train.to_csv('FE_day.csv', index=False)\n",
    "FE_train.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>instant</th>\n",
       "      <th>season_1</th>\n",
       "      <th>season_2</th>\n",
       "      <th>season_3</th>\n",
       "      <th>season_4</th>\n",
       "      <th>mnth_1</th>\n",
       "      <th>mnth_2</th>\n",
       "      <th>mnth_3</th>\n",
       "      <th>mnth_4</th>\n",
       "      <th>mnth_5</th>\n",
       "      <th>...</th>\n",
       "      <th>weekday_5</th>\n",
       "      <th>weekday_6</th>\n",
       "      <th>temp</th>\n",
       "      <th>atemp</th>\n",
       "      <th>hum</th>\n",
       "      <th>windspeed</th>\n",
       "      <th>holiday</th>\n",
       "      <th>workingday</th>\n",
       "      <th>yr</th>\n",
       "      <th>cnt</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0.355170</td>\n",
       "      <td>0.373517</td>\n",
       "      <td>0.828620</td>\n",
       "      <td>0.284606</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>985</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.379232</td>\n",
       "      <td>0.360541</td>\n",
       "      <td>0.715771</td>\n",
       "      <td>0.466215</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>801</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.171000</td>\n",
       "      <td>0.144830</td>\n",
       "      <td>0.449638</td>\n",
       "      <td>0.465740</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1349</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.175530</td>\n",
       "      <td>0.174649</td>\n",
       "      <td>0.607131</td>\n",
       "      <td>0.284297</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1562</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.209120</td>\n",
       "      <td>0.197158</td>\n",
       "      <td>0.449313</td>\n",
       "      <td>0.339143</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1600</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 35 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   instant  season_1  season_2  season_3  season_4  mnth_1  mnth_2  mnth_3  \\\n",
       "0        1         1         0         0         0       1       0       0   \n",
       "1        2         1         0         0         0       1       0       0   \n",
       "2        3         1         0         0         0       1       0       0   \n",
       "3        4         1         0         0         0       1       0       0   \n",
       "4        5         1         0         0         0       1       0       0   \n",
       "\n",
       "   mnth_4  mnth_5  ...  weekday_5  weekday_6      temp     atemp       hum  \\\n",
       "0       0       0  ...          0          1  0.355170  0.373517  0.828620   \n",
       "1       0       0  ...          0          0  0.379232  0.360541  0.715771   \n",
       "2       0       0  ...          0          0  0.171000  0.144830  0.449638   \n",
       "3       0       0  ...          0          0  0.175530  0.174649  0.607131   \n",
       "4       0       0  ...          0          0  0.209120  0.197158  0.449313   \n",
       "\n",
       "   windspeed  holiday  workingday  yr   cnt  \n",
       "0   0.284606        0           0   0   985  \n",
       "1   0.466215        0           0   0   801  \n",
       "2   0.465740        0           1   0  1349  \n",
       "3   0.284297        0           1   0  1562  \n",
       "4   0.339143        0           1   0  1600  \n",
       "\n",
       "[5 rows x 35 columns]"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#导入运算模型\n",
    "\n",
    "from sklearn.linear_model import LinearRegression, RidgeCV, LassoCV, ElasticNetCV\n",
    "\n",
    "#模型评估\n",
    "from sklearn.metrics import mean_squared_error\n",
    "from sklearn.metrics import r2_score  #评价回归预测模型的性能\n",
    "# 读入数据\n",
    "data = pd.read_csv(\"FE_day.csv\")\n",
    "data.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Index(['instant', 'season_1', 'season_2', 'season_3', 'season_4', 'mnth_1',\n",
      "       'mnth_2', 'mnth_3', 'mnth_4', 'mnth_5', 'mnth_6', 'mnth_7', 'mnth_8',\n",
      "       'mnth_9', 'mnth_10', 'mnth_11', 'mnth_12', 'weathersit_1',\n",
      "       'weathersit_2', 'weathersit_3', 'weekday_0', 'weekday_1', 'weekday_2',\n",
      "       'weekday_3', 'weekday_4', 'weekday_5', 'weekday_6', 'temp', 'atemp',\n",
      "       'hum', 'windspeed', 'holiday', 'workingday', 'yr'],\n",
      "      dtype='object') \n",
      "数据集范围： (731, 34)\n",
      "训练数据集： (584, 34)\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "c:\\users\\administrator\\appdata\\local\\programs\\python\\python37\\lib\\site-packages\\sklearn\\model_selection\\_split.py:2179: FutureWarning: From version 0.21, test_size will always complement train_size unless both are specified.\n",
      "  FutureWarning)\n"
     ]
    }
   ],
   "source": [
    "#准备训练数据\n",
    "y = data['cnt']\n",
    "X = data.drop('cnt',axis=1)\n",
    "print(X.columns,'\\n数据集范围：',X.shape)\n",
    "# 用train_test_split 分割训练数据(占80%)和测试数据\n",
    "from sklearn.model_selection import train_test_split\n",
    "X_train, X_test, y_train, y_test = train_test_split(X, y, train_size = 0.8,random_state = 0)\n",
    "print('训练数据集：',X_train.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "c:\\users\\administrator\\appdata\\local\\programs\\python\\python37\\lib\\site-packages\\pandas\\core\\frame.py:3940: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\n",
      "\n",
      "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n",
      "  errors=errors)\n"
     ]
    }
   ],
   "source": [
    "#保存测试ID \n",
    "testID = X_test['instant']\n",
    "#ID列不参与预测，需要剔除\n",
    "X_train.drop('instant',axis=1,inplace=True)\n",
    "X_test.drop('instant',axis=1,inplace=True)\n",
    "#保存特征名字以备后用（可视化）\n",
    "feat_names = X_train.columns"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "RMSE on Training set : 756.3407264722348\n",
      "RMSE on Test set : 780.7369490894288\n",
      "r2_score on Training set : 0.8419751509494431\n",
      "r2_score on Test set : 0.8566824090505057\n"
     ]
    }
   ],
   "source": [
    "#最小二乘线性回归 最小二乘没有超参数需要调优，直接用全体训练数据训练模型\n",
    "#创建学习器对象\n",
    "lr = LinearRegression()\n",
    "#带入训练数据\n",
    "lr.fit(X_train,y_train)\n",
    "#进行测试,分别带入训练数据和测试数据\n",
    "y_train_p = lr.predict(X_train)\n",
    "y_test_p = lr.predict(X_test)\n",
    "#进行模型评价\n",
    "rmse_train = np.sqrt(mean_squared_error(y_train,y_train_p))\n",
    "rmse_test = np.sqrt(mean_squared_error(y_test,y_test_p))\n",
    "print(\"RMSE on Training set :\", rmse_train)\n",
    "print(\"RMSE on Test set :\", rmse_test)\n",
    "\n",
    "r2_score_train = r2_score(y_train,y_train_p)\n",
    "r2_score_test = r2_score(y_test,y_test_p)\n",
    "print(\"r2_score on Training set :\", r2_score_train)\n",
    "print(\"r2_score on Test set :\", r2_score_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "获取到 33 个特征 ，排除 0 个特征\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#绘制重要参数\n",
    "coefs = pd.Series(lr.coef_, index = feat_names)\n",
    "print(\"获取到 \" + str(sum(coefs != 0)) + \" 个特征 ，排除 \" +  \\\n",
    "      str(sum(coefs == 0)) + \" 个特征\")\n",
    "#正系数值最大的10个特征和负系数值最小（绝对值大）的10个特征\n",
    "imp_coefs = pd.concat([coefs.sort_values().head(10),coefs.sort_values().tail(10)])\n",
    "imp_coefs.plot(kind='barh')\n",
    "plt.title('Coefficients in the OLS Model')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "season_1       -3.071720e+16\n",
      "season_2       -3.071720e+16\n",
      "season_3       -3.071720e+16\n",
      "season_4       -3.071720e+16\n",
      "mnth_1          2.151508e+16\n",
      "mnth_2          2.151508e+16\n",
      "mnth_3          2.151508e+16\n",
      "mnth_4          2.151508e+16\n",
      "mnth_5          2.151508e+16\n",
      "mnth_6          2.151508e+16\n",
      "mnth_7          2.151508e+16\n",
      "mnth_8          2.151508e+16\n",
      "mnth_9          2.151508e+16\n",
      "mnth_10         2.151508e+16\n",
      "mnth_11         2.151508e+16\n",
      "mnth_12         2.151508e+16\n",
      "weathersit_1    7.450839e+16\n",
      "weathersit_2    7.450839e+16\n",
      "weathersit_3    7.450839e+16\n",
      "weekday_0       3.355408e+16\n",
      "weekday_1      -4.468006e+16\n",
      "weekday_2      -4.468006e+16\n",
      "weekday_3      -4.468006e+16\n",
      "weekday_4      -4.468006e+16\n",
      "weekday_5      -4.468006e+16\n",
      "weekday_6       3.355408e+16\n",
      "temp            2.760745e+03\n",
      "atemp           1.111475e+03\n",
      "hum            -1.842761e+03\n",
      "windspeed      -1.509709e+03\n",
      "holiday         7.823414e+16\n",
      "workingday      7.823414e+16\n",
      "yr              1.927719e+03\n",
      "dtype: float64\n"
     ]
    }
   ],
   "source": [
    "#查看coefs\n",
    "print(coefs)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "根据coefs的参数来看，数量级比较大，由于是强相关特征，所以OLS模型的性能不理想"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Best alpha : 1.0\n",
      "ridge_cv of rmse: [ 806.011119    804.98946948  801.06246694  797.95313648  822.15888399\n",
      " 1078.04194503]\n",
      "RMSE on RidgeCV Train set : 754.0366623762103\n",
      "RMSE on RidgeCV Test set : 776.9753607135058\n",
      "r2_score on RidgeCV Train set : 0.8429364764067736\n",
      "r2_score on RidgeCV Test set : 0.8580600896877166\n"
     ]
    }
   ],
   "source": [
    "#采用岭回归模型进行数据分析\n",
    "alphas = [0.001,0.01,0.1,1,10,100]\n",
    "#创建岭回归模型对象\n",
    "ridge = RidgeCV(alphas = alphas,store_cv_values=True)\n",
    "ridge.fit(X_train,y_train)\n",
    "#通过交叉验证得到最佳的超参数alpha\n",
    "alpha = ridge.alpha_\n",
    "print(\"Best alpha :\", alpha)\n",
    "#交叉验证估计的测量误差\n",
    "mse_cv = np.mean(ridge.cv_values_,axis=0)\n",
    "rmse_cv = np.sqrt(mse_cv)\n",
    "print(\"ridge_cv of rmse:\",rmse_cv)\n",
    "#在训练集上进行测试，并获取训练误差\n",
    "y_train_p = ridge.predict(X_train)\n",
    "rmse_train = np.sqrt(mean_squared_error(y_train,y_train_p ))\n",
    "y_test_p = ridge.predict(X_test)\n",
    "rmse_test = np.sqrt(mean_squared_error(y_test,y_test_p))\n",
    "print(\"RMSE on RidgeCV Train set :\", rmse_train)\n",
    "print(\"RMSE on RidgeCV Test set :\" ,rmse_test)\n",
    "r2_score_train = r2_score(y_train,y_train_p)\n",
    "r2_score_test = r2_score(y_test,y_test_p)\n",
    "print(\"r2_score on RidgeCV Train set :\" ,r2_score_train)\n",
    "print(\"r2_score on RidgeCV Test set :\" ,r2_score_test)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "岭回归获取到 33 个特征 ，排除 0 个特征\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#显示重要系数\n",
    "coefs = pd.Series(ridge.coef_,index=feat_names)\n",
    "print(\"岭回归获取到 \" + str(sum(coefs != 0)) + \" 个特征 ，排除 \" +  \\\n",
    "      str(sum(coefs == 0)) + \" 个特征\")\n",
    "#正系数值最大的10个特征和负系数值最小（绝对值大）的10个特征\n",
    "imp_coefs = pd.concat([coefs.sort_values().head(10),coefs.sort_values().tail(10)])\n",
    "imp_coefs.plot(kind='barh')\n",
    "plt.title('Coefficients in the Ridge Model')\n",
    "plt.show()\n",
    "#计算评估参数\n",
    "mse_mean = np.mean(ridge.cv_values_,axis=0)\n",
    "plt.plot(np.log10(alphas),mse_mean.reshape(len(alphas),1))\n",
    "plt.xlabel('log(alpha)')\n",
    "plt.ylabel('mse')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "season_1        -816.946054\n",
      "season_2          61.439057\n",
      "season_3          97.124573\n",
      "season_4         658.382424\n",
      "mnth_1          -384.604861\n",
      "mnth_2          -255.398769\n",
      "mnth_3           185.553801\n",
      "mnth_4            -6.012570\n",
      "mnth_5           437.523845\n",
      "mnth_6           104.170972\n",
      "mnth_7          -307.981162\n",
      "mnth_8           129.351248\n",
      "mnth_9           670.800620\n",
      "mnth_10          235.474439\n",
      "mnth_11         -428.094512\n",
      "mnth_12         -380.783051\n",
      "weathersit_1     757.284463\n",
      "weathersit_2     341.945472\n",
      "weathersit_3   -1099.229935\n",
      "weekday_0       -166.919676\n",
      "weekday_1       -155.850725\n",
      "weekday_2        -48.116950\n",
      "weekday_3         -4.759450\n",
      "weekday_4         64.295894\n",
      "weekday_5         87.446625\n",
      "weekday_6        223.904283\n",
      "temp            1892.310062\n",
      "atemp           1605.349484\n",
      "hum            -1520.738791\n",
      "windspeed      -1336.567102\n",
      "holiday         -202.590794\n",
      "workingday       145.606188\n",
      "yr              1952.328786\n",
      "dtype: float64\n"
     ]
    }
   ],
   "source": [
    "#查看coefs\n",
    "print(coefs)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "相比OLS，岭回归模型增加了L2正则，系数值进行了收缩。 由于增加正则限制了模型复杂的，相比比OLS模型，岭回归模型在训练集上的误差略有减少，在测试集上的误差也有所减小。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Best alpha : 2.336453166053946\n",
      "cv of rmse : 828.5550460506795\n",
      "拉索模型获取到 27 个特征 ，排除 6 个特征\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "c:\\users\\administrator\\appdata\\local\\programs\\python\\python37\\lib\\site-packages\\sklearn\\model_selection\\_split.py:2053: FutureWarning: You should specify a value for 'cv' instead of relying on the default value. The default value will change from 3 to 5 in version 0.22.\n",
      "  warnings.warn(CV_WARNING, FutureWarning)\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "RMSE on Training set : 754.2656275844785\n",
      "RMSE on Test set : 786.623058576428\n",
      "r2_score on Training set : 0.8428410764237866\n",
      "r2_score on Test set : 0.8545132713117076\n"
     ]
    }
   ],
   "source": [
    "# Lasso模型\n",
    "#1. 生成LassoCV实例，采用默认参数，可自动确定alpha的搜素范围\n",
    "lasso = LassoCV()\n",
    "\n",
    "#2.模型训练\n",
    "lasso.fit(X_train, y_train)\n",
    "alpha = lasso.alpha_\n",
    "print(\"Best alpha :\" , alpha)\n",
    "\n",
    "#3. 模型性能：cv\n",
    "mse_cv = np.mean(lasso.mse_path_, axis = 1)\n",
    "rmse_cv = np.sqrt(mse_cv)\n",
    "print(\"cv of rmse :\", min(rmse_cv))\n",
    "\n",
    "# 4. 特征重要性\n",
    "#Plot important coefficients\n",
    "coefs = pd.Series(lasso.coef_, index = feat_names)\n",
    "print(\"拉索模型获取到 \" + str(sum(coefs != 0)) + \" 个特征 ，排除 \" +  \\\n",
    "      str(sum(coefs == 0)) + \" 个特征\")\n",
    "imp_coefs = pd.concat([coefs.sort_values().head(10),\n",
    "                     coefs.sort_values().tail(10)])\n",
    "imp_coefs.plot(kind = \"barh\")\n",
    "plt.title(\"Coefficients in the Lasso Model\")\n",
    "plt.show()\n",
    "\n",
    "#5. 显示不同alpha对应的模型性能\n",
    "plt.plot(np.log10(lasso.alphas_), mse_cv) \n",
    "\n",
    "plt.xlabel('log(alpha)')\n",
    "plt.ylabel('mse')\n",
    "plt.show() \n",
    "\n",
    "#训练误差\n",
    "y_train_pred = lasso.predict(X_train)\n",
    "rmse_train = np.sqrt(mean_squared_error(y_train,y_train_pred))\n",
    "print(\"RMSE on Training set :\" ,rmse_train)\n",
    "\n",
    "#测试误差\n",
    "y_test_pred = lasso.predict(X_test)\n",
    "rmse_test = np.sqrt(mean_squared_error(y_test,y_test_pred))\n",
    "print(\"RMSE on Test set :\" ,rmse_test)\n",
    "\n",
    "r2_score_train = r2_score(y_train,y_train_pred)\n",
    "r2_score_test = r2_score(y_test,y_test_pred)\n",
    "print(\"r2_score on Training set :\" , r2_score_train)\n",
    "print(\"r2_score on Test set :\" , r2_score_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "season_1        -991.864539\n",
       "season_2          -0.000000\n",
       "season_3           0.000000\n",
       "season_4         448.139977\n",
       "mnth_1          -152.357646\n",
       "mnth_2           -46.677131\n",
       "mnth_3           272.393334\n",
       "mnth_4            -0.000000\n",
       "mnth_5           364.227409\n",
       "mnth_6             0.000000\n",
       "mnth_7          -395.772042\n",
       "mnth_8            10.784305\n",
       "mnth_9           641.369561\n",
       "mnth_10          352.506349\n",
       "mnth_11         -209.768543\n",
       "mnth_12         -153.539040\n",
       "weathersit_1     388.138775\n",
       "weathersit_2      -0.000000\n",
       "weathersit_3   -1429.882687\n",
       "weekday_0       -273.619964\n",
       "weekday_1       -134.265169\n",
       "weekday_2        -22.758843\n",
       "weekday_3         -0.000000\n",
       "weekday_4         47.064979\n",
       "weekday_5         77.322211\n",
       "weekday_6         82.220008\n",
       "temp            2964.600668\n",
       "atemp            863.906434\n",
       "hum            -1618.968372\n",
       "windspeed      -1382.149139\n",
       "holiday         -301.586913\n",
       "workingday         1.389914\n",
       "yr              1941.529523\n",
       "dtype: float64"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "coefs"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Lasso模型增加了L1正则，系数值进行了收缩，同时有些特征的系数为0。 从结果可以看到训练集误差比岭回归稍微高一点低于OLS模型，但是测试集的误差是三者最高，综上，本例子的结论是岭回归模型性能相对较好。"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.3"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {},
   "toc_section_display": true,
   "toc_window_display": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
